CentOS 7 构建本地YUM源 |
您所在的位置:网站首页 › centos 本地yum源 › CentOS 7 构建本地YUM源 |
说明
我们现在每次新装Dell服务器的时候要从DELL网站上下载OMSA这些东西,但是现在下载速度真鸡巴慢,所以就我们自己本地弄一套YUM源,以后速度就快了。 我们使用reposync来和公网yum源同步。 机器名 配置 IP yum-srv 2c/4G/300G 10.0.101.17 分区信息vi /etc/selinux/config permissive setenforce 0 getenforce yum -y install wget deltarpm 关闭防火墙systemctl disable firewalld systemctl stop firewalld yum -y install ntp vi /etc/ntp.conf server 192.168.77.249 prefer server 192.168.77.250 prefer systemctl start ntpd.service systemctl enable ntpd.service ntpdate -u 192.168.77.250 ntpdate -d 192.168.77.250 添加下网易的yum源cd /etc/yum.repos.d/ mkdir old mv CentOS-* old/ wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 添加epel源wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo 添加Dell的源curl -s https://linux.dell.com/repo/hardware/dsu/bootstrap.cgi | bash 然后我们可以看到我们已经把这些我们需要的源加进去了。 Dell的源我们要编辑下,上面一段会下载固件的更新,这个是我们不需要的,所以注销掉 yum install httpd -y 使用默认配置即可,如果有特殊需求可以修改配置文件/etc/httpd/conf/httpd.conf http默认家目录/var/www/html 删除welcome配置,达到访问服务器地址直接现实站点根目录 mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.bak 开启httpd服务 systemctl restart httpd systemctl enable httpd 安装yum-utils提供reposync服务yum install yum-utils createrepo -y 执行yum repolist命令查看yum仓库标识 添加多个同步,用/var/www/html作为yum仓库根目录 reposync -n epel -p /var/www/html/epel reposync -n extras -p /var/www/html reposync -n base -p /var/www/html reposync -n updates -p /var/www/html reposync -n dell-system-update_dependent/7/x86_64 -p /var/www/html reposync -n dell-system-update_independent -p /var/www/html 命令执行完毕后,会将公网中的源同步到本地/var/www/html中;在/var/www/html中自动创建目录用于存放rpm包;第一次同步时间肯定很长。 Reposync参数说明-h, –help 显示帮助 -c CONFIG, –config=CONFIG Config file to use (defaults to /etc/yum.conf). -a ARCH, –arch=ARCH 按照指定的arch执行, 默认是当前机器的arch –source 也同步src.rpm包 -r REPOID, –repoid=REPOID 同步远程的repo ID. 默认是所有enable的repo -e CACHEDIR, –cachedir CACHEDIR 执行存储metadata的目录 -t, –tempcache 使用一个临时目录存储yum-cache -d, –delete 删除远程仓库不存在的本地包 -p DESTDIR, –download_path=DESTDIR 下载包的存储目录, 默认是当前目录 –norepopath 不在本地增加名为远程repo ID的目录. 只download一个repo的时候使用. 默认是增加目录 -g, –gpgcheck 删除package如果GPGkey检查失败. 可以使用rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 或者yum install package 来避免 -u, –urls 只显示下载的url, 不下载 -l, –plugins Enable yum plugin support. -m, –downloadcomps Also download comps.xml. -n, –newest-only 直下载最新的package, 一个包有多个版本在一个仓库中, 可以只选择下载最新的packages -q, –quiet 最简输出. 创建仓库createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据。 createrepo -pdo /var/www/html/epel /var/www/html/epel/ createrepo -pdo /var/www/html/base /var/www/html/base createrepo -pdo /var/www/html/extras /var/www/html/extras createrepo -pdo /var/www/html/updates /var/www/html/updates createrepo -pdo /var/www/html/dell-system-update_dependent /var/www/html/dell-system-update_dependent 软件多的话牛慢 #第一个目录是repodata存放目录,第二个目录是需要生成索引信息yum源仓库目录 createrepo参数选项说明-u –baseurl 指定Base URL的地址 -o –outputdir 指定元数据的输出位置 -x –excludes 指定在形成元数据时需要排除的包 -i –pkglist 指定一个文件,该文件内的包信息将被包含在即将生成的元数据中,格式为每个包信息独占一行,不含通配符、正则,以及范围表达式。 -n –includepkg 通过命令行指定要纳入本地库中的包信息,需要提供URL或本地路径。 -q –quiet 安静模式执行操作,不输出任何信息。 -g –groupfile 指定本地软件仓库的组划分,范例如下: createrepo -g comps.xml /path/to/rpms 注意:组文件需要和rpm包放置于同一路径下。 -v –verbose 输出详细信息。 -c –cachedir 指定一个目录,用作存放软件仓库中软件包的校验和信息。 当createrepo在未发生明显改变的相同仓库文件上持续多次运行时,指定cachedir会明显提高其性能。 –update 如果元数据已经存在,且软件仓库中只有部分软件发生了改变或增减, 则可用update参数直接对原有元数据进行升级,效率比重新分析rpm包依赖并生成新的元数据要高很多。 -p –pretty 以整洁的格式输出xml文件。 -d –database 该选项指定使用SQLite来存储生成的元数据,默认项。 定时同步任务 设置每天定时更新脚本 update.shvi /usr/local/yum-update.sh #!/bin/bash echo 开始同步 reposync -n epel -p /var/www/html/epel reposync -n extras -p /var/www/html reposync -n base -p /var/www/html reposync -n updates -p /var/www/html reposync -n dell-system-update_dependent/7/x86_64 -p /var/www/html echo 同步结束 #更新元数据 createrepo –update /var/www/html/epel createrepo –update /var/www/html/centos/7/base createrepo –update /var/www/html/centos/7/extras createrepo –update /var/www/html/centos/7/updates createrepo –update /var/www/html/var/www/html/dell-system-update_dependent 添加执行权限 chmod +x /usr/local/yum-update.sh crontab -e 添加定时任务每天凌晨1点同步yum源 crontab -e 0 1 * * * 1-7 /usr/local/yum-update.sh 客户端配置用户端/etc/yum.repos.d/eju.repo文件修改 vi /etc/yum.repos.d/eju.repo [base] name=CentOS-Base baseurl=http://10.0.101.18/base path=/ enabled=1 gpgcheck=0 [updates] name=CentOS-Updates baseurl=http://10.0.101.18/updates path=/ enabled=1 gpgcheck=0 [extras] name=CentOS-Extras baseurl=http://10.0.101.18/extras path=/ enabled=1 gpgcheck=0 [epel] name=epel baseurl=http://10.0.101.18/epel path=/ enabled=1 gpgcheck=0 [dell-system-update_dependent] name=dell-system-update_dependent baseurl=http://10.0.101.18/dell-system-update_dependent path=/ enabled=1 gpgcheck=0 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |